package com.iris.live.services.data.models;

import com.fasterxml.jackson.annotation.JsonProperty;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * Created by xin on 2016/7/11.
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "LSH保值租购设置", schema = "sg_lsh", catalog = "")
public class Lsh保值租购设置Model {
    private Integer 租购编号;
    private Integer 期数;
    private String 是否固定;
    private String 年利率;
    private Integer 保值金额;
    private String 参数;
    private Timestamp 更新时间;
    private Integer 金融编号;

    @Id
    @Column(name = "租购编号")
    @JsonProperty("租购编号")
    public Integer get租购编号() {
        return 租购编号;
    }

    public void set租购编号(Integer 租购编号) {
        this.租购编号 = 租购编号;
    }

    @Basic
    @Column(name = "期数")
    @JsonProperty("期数")
    public Integer get期数() {
        return 期数;
    }

    public void set期数(Integer 期数) {
        this.期数 = 期数;
    }

    @Basic
    @Column(name = "是否固定")
    @JsonProperty("是否固定")
    public String get是否固定() {
        return 是否固定;
    }

    public void set是否固定(String 是否固定) {
        this.是否固定 = 是否固定;
    }

    @Basic
    @Column(name = "年利率")
    @JsonProperty("年利率")
    public String get年利率() {
        return 年利率;
    }

    public void set年利率(String 年利率) {
        this.年利率 = 年利率;
    }

    @Basic
    @Column(name = "保值金额")
    @JsonProperty("保值金额")
    public Integer get保值金额() {
        return 保值金额;
    }

    public void set保值金额(Integer 保值金额) {
        this.保值金额 = 保值金额;
    }

    @Basic
    @Column(name = "参数")
    @JsonProperty("参数")
    public String get参数() {
        return 参数;
    }

    public void set参数(String 参数) {
        this.参数 = 参数;
    }

    @Basic
    @Column(name = "更新时间")
    @JsonProperty("更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Lsh保值租购设置Model that = (Lsh保值租购设置Model) o;

        if (租购编号 != null ? !租购编号.equals(that.租购编号) : that.租购编号 != null) return false;
        if (期数 != null ? !期数.equals(that.期数) : that.期数 != null) return false;
        if (是否固定 != null ? !是否固定.equals(that.是否固定) : that.是否固定 != null) return false;
        if (年利率 != null ? !年利率.equals(that.年利率) : that.年利率 != null) return false;
        if (保值金额 != null ? !保值金额.equals(that.保值金额) : that.保值金额 != null) return false;
        if (参数 != null ? !参数.equals(that.参数) : that.参数 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;
        if (金融编号 != null ? !金融编号.equals(that.金融编号) : that.金融编号 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (租购编号 != null ? 租购编号.hashCode() : 0);
        result = 31 * result + (期数 != null ? 期数.hashCode() : 0);
        result = 31 * result + (是否固定 != null ? 是否固定.hashCode() : 0);
        result = 31 * result + (年利率 != null ? 年利率.hashCode() : 0);
        result = 31 * result + (保值金额 != null ? 保值金额.hashCode() : 0);
        result = 31 * result + (参数 != null ? 参数.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        result = 31 * result + (金融编号 != null ? 金融编号.hashCode() : 0);
        return result;
    }

    @Basic
    @Column(name = "金融编号")
    @JsonProperty("金融编号")
    public Integer get金融编号() {
        return 金融编号;
    }

    public void set金融编号(Integer 金融编号) {
        this.金融编号 = 金融编号;
    }
}
